package com.gkey.sole.base.service;

import java.util.List;

import com.gkey.sole.base.bean.CMenu;
import com.gkey.sole.base.bean.TreeModel;

public interface CMenuService {
	
	/**
	 * @Description: 菜单表树形的接口
	 * @param level
	 * @return   
	 * List<CMenu>  
	 * @throws
	 * @author czh
	 * @date 2015-12-22 下午5:10:58
	 */
	public List<TreeModel> getCmenuByLevel(Integer level);
	
	/**
	 * @Description: 菜单表树形的接口
	 * @param level
	 * @return   
	 * List<CMenu>  
	 * @throws
	 * @author GUOkEY
	 * @date 2015-12-22 下午5:10:58
	 */
	public List<TreeModel> getCmenuByfatherid(Integer fatherid);
	/**
	 * @Description: 菜单表树形的接口
	 * @param level
	 * @return   
	 * List<CMenu>  
	 * @throws
	 * @author GUOkEY
	 * @date 2015-12-22 下午5:10:58
	 */
	public List<TreeModel> getCmenuByfatherid(Integer fatherid, Integer usercode, Integer level);
	
	/**
	 * @Description: 根据父类编码查询菜单表
	 * @param fatherid
	 * @return   
	 * List<CMenu>  
	 * @throws
	 * @author czh
	 * @date 2015-12-22 下午5:11:23
	 */
	public List<CMenu> getCmenuByPcode(Integer fatherid);
	
	/**
	 * @Description: 根据父类编码查找同级菜单中最后一个的信息
	 * @param fatherid
	 * @return   
	 * CMenu  
	 * @throws
	 * @author czh
	 * @date 2015-12-22 下午6:26:46
	 */
	public CMenu getLastMenuByPcode(Integer fatherid);
	
	/**
	 * @Description: 根据父类编码查找下级菜单中最后一个的信息
	 * @param fatherid
	 * @return   
	 * CMenu  
	 * @throws
	 * @author czh
	 * @date 2015-12-22 下午6:28:04
	 */
	public CMenu getLastMenuNext(Integer fatherid,Integer id);
	
	/**
	 * @Description: 添加菜单的接口
	 * @param cMenu
	 * @return   
	 * Integer  
	 * @throws
	 * @author czh
	 * @date 2015-12-22 下午6:35:43
	 */
	public Integer saveMenu(CMenu cMenu);
	
	/**
	 * @Description: 修改菜单的接口
	 * @param cMenu
	 * @return   
	 * Integer  
	 * @throws
	 * @author czh
	 * @date 2015-12-22 下午6:36:18
	 */
	public Integer updateMenu(CMenu cMenu);
	
	/**
	 * @Description: 删除菜单的接口
	 * @param id
	 * @return   
	 * boolean  
	 * @throws
	 * @author czh
	 * @date 2015-12-22 下午6:36:53
	 */
	public boolean delMenu(Integer id);
	
	/**
	 * @Description: 根据id获取菜单信息的接口
	 * @param id
	 * @return   
	 * CMenu  
	 * @throws
	 * @author czh
	 * @date 2015-12-22 下午7:31:50
	 */
	public CMenu getMenu(Integer id);
	
	
	/**
	 * @Description: 根据userid查找到所有菜单目录
	 * @param userId
	 * @return   
	 * List<CMenu>  
	 * @throws
	 * @author keyGuo
	 * @date 2015-12-25 下午4:38:33
	 */
	public List<CMenu> findMenuByUserId(Integer userId);
	
	/**
	 * @Description: 根据菜单id获取菜单list《menuid》
	 * @param menuids
	 * @return   
	 * List<CMenu>  
	 * @throws
	 * @author keyGuo
	 * @date 2015-12-25 下午4:58:39
	 */
	public List<CMenu> findMenuIds(String menuids);
}
